home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / ODCtr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  11.4 KB  |  397 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:ODCtr.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Constants
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODContainer_h
  18. #define SOM_ODContainer_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * -- This emitter treats Method Tokens as Thunks by default
  25.  * -- Use the sc modifier "nothunks" to change this default
  26.  */
  27. #undef somresolve_
  28. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  29.  
  30. /*
  31.  * Define the class name as an object type
  32.  */
  33. #ifndef ODContainer
  34. #define ODContainer SOMObject
  35. #endif
  36. #include <RefCtObj.h>
  37.  
  38. /*
  39.  * Start of user-defined types:
  40.  */
  41. #ifndef ODExtension
  42.     #define ODExtension SOMObject
  43. #endif /* ODExtension */
  44. #ifndef ODStorageSystem
  45.     #define ODStorageSystem SOMObject
  46. #endif /* ODStorageSystem */
  47. #ifndef ODStorageUnitCursor
  48.     #define ODStorageUnitCursor SOMObject
  49. #endif /* ODStorageUnitCursor */
  50. #ifndef ODLinkSource
  51.     #define ODLinkSource SOMObject
  52. #endif /* ODLinkSource */
  53. #ifndef ODSession
  54.     #define ODSession SOMObject
  55. #endif /* ODSession */
  56. #ifndef ODStorageUnitRefIterator
  57.     #define ODStorageUnitRefIterator SOMObject
  58. #endif /* ODStorageUnitRefIterator */
  59. #ifndef ODLink
  60.     #define ODLink SOMObject
  61. #endif /* ODLink */
  62. #ifndef ODPart
  63.     #define ODPart SOMObject
  64. #endif /* ODPart */
  65. #ifndef ODStorageUnitView
  66.     #define ODStorageUnitView SOMObject
  67. #endif /* ODStorageUnitView */
  68. #ifndef ODLinkSpec
  69.     #define ODLinkSpec SOMObject
  70. #endif /* ODLinkSpec */
  71. #ifndef ODFrame
  72.     #define ODFrame SOMObject
  73. #endif /* ODFrame */
  74. #ifndef ODShape
  75.     #define ODShape SOMObject
  76. #endif /* ODShape */
  77.  
  78. /*
  79.  * End of user-defined types.
  80.  */
  81.  
  82. #define ODContainer_MajorVersion 0
  83. #define ODContainer_MinorVersion 0
  84.  
  85. /*
  86.  * External name shortening if required
  87.  */
  88. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  89. #define ODContainerNewClass c
  90. #define ODContainerClassData d
  91. #define ODContainerCClassData x
  92. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  93. /*--------------Migration------------*/
  94. #define ODContainer_classObj ODContainerClassData.classObject
  95. #define _ODContainer ODContainer_classObj
  96.  
  97. /*
  98.  * Declare the class creation procedure
  99.  */
  100.  
  101. #if applec ^ PRAGMA_LIB_EXPORT
  102. #pragma lib_export on
  103. #endif
  104.  
  105. SOMEXTERN SOMClass * SOMLINK ODContainerNewClass(integer4 somtmajorVersion,
  106.         integer4 somtminorVersion);
  107.  
  108. /*
  109.  * Declare the class data structure
  110.  */
  111. SOMEXTERN struct ODContainerClassDataStructure {
  112.     SOMAny *classObject;
  113.     somMToken GetStorageSystem;
  114.     somMToken GetID;
  115.     somMToken GetName;
  116.     somMToken SetName;
  117.     somMToken GetDocument;
  118.     somMToken InitContainer;
  119.     somMToken Create;
  120.     somMToken Open;
  121.     somMToken Close;
  122.     somMToken ReleaseDocument;
  123. }
  124. #ifdef SOM_NO_DATA_EXPORTS
  125.     * ODContainerGetClassData ( void );
  126. #   undef ODContainerClassData
  127. #   define ODContainerClassData (*ODContainerGetClassData())
  128. #else
  129.       ODContainerClassData;
  130. #endif /* SOM_NO_DATA_EXPORTS */
  131.  
  132. #if applec ^ PRAGMA_LIB_EXPORT
  133. #pragma lib_export off
  134. #endif
  135.  
  136.  
  137. /*
  138.  * Declare the C specific class data structure
  139.  */
  140. SOMEXTERN struct ODContainerCClassDataStructure {
  141.     somMethodTabs parentMtab;
  142.     somDToken instanceDataToken;
  143. } ODContainerCClassData;
  144.  
  145. /*
  146.  * New and Renew macros for ODContainer
  147.  */
  148. #define ODContainerNew() \
  149.     ( ( ! (ODContainerClassData.classObject) && \
  150.         (ODContainerNewClass(ODContainer_MajorVersion, ODContainer_MinorVersion)) ), \
  151.       (_somNew(ODContainerClassData.classObject)) )
  152. #define ODContainerRenew(buf) \
  153.     ( _somRenew(ODContainerClassData.classObject, buf) )
  154.  
  155. /*
  156.  * Override method: somInit
  157.  */
  158. #define ODContainer_somInit(somSelf) \
  159.     SOMObject_somInit(somSelf)
  160.  
  161. /*
  162.  * Override method: somUninit
  163.  */
  164. #define ODContainer_somUninit(somSelf) \
  165.     SOMObject_somUninit(somSelf)
  166.  
  167. /*
  168.  * Override method: IncrementRefCount
  169.  */
  170. #define ODContainer_IncrementRefCount(somSelf,ev) \
  171.     ODRefCntObject_IncrementRefCount(somSelf,ev)
  172.  
  173. /*
  174.  * Override method: Release
  175.  */
  176. #define ODContainer_Release(somSelf,ev) \
  177.     ODRefCntObject_Release(somSelf,ev)
  178.  
  179. /*
  180.  * Override method: Purge
  181.  */
  182. #define ODContainer_Purge(somSelf,ev,size) \
  183.     ODObject_Purge(somSelf,ev,size)
  184.  
  185. /*
  186.  * New Method: GetStorageSystem
  187.  */
  188. typedef ODStorageSystem*   (SOMLINK *somTD_ODContainer_GetStorageSystem)(ODContainer *somSelf, Environment *ev);
  189. #define somMD_ODContainer_GetStorageSystem "::ODContainer::GetStorageSystem"
  190. #define ODContainer_GetStorageSystem(somSelf,ev) \
  191.     (SOM_Resolve(somSelf, ODContainer, GetStorageSystem) \
  192.     (somSelf,ev))
  193. #ifndef SOMGD_GetStorageSystem
  194.     #if (defined(_GetStorageSystem) || defined(__GetStorageSystem))
  195.         #undef _GetStorageSystem
  196.         #undef __GetStorageSystem
  197.         #define SOMGD_GetStorageSystem 1
  198.     #else
  199.         #define _GetStorageSystem ODContainer_GetStorageSystem
  200.     #endif /* _GetStorageSystem */
  201. #endif /* SOMGD_GetStorageSystem */
  202.  
  203. /*
  204.  * New Method: GetID
  205.  */
  206. typedef ODContainerID   (SOMLINK *somTD_ODContainer_GetID)(ODContainer *somSelf, Environment *ev);
  207. #define somMD_ODContainer_GetID "::ODContainer::GetID"
  208. #define ODContainer_GetID(somSelf,ev) \
  209.     (SOM_Resolve(somSelf, ODContainer, GetID) \
  210.     (somSelf,ev))
  211. #ifndef SOMGD_GetID
  212.     #if (defined(_GetID) || defined(__GetID))
  213.         #undef _GetID
  214.         #undef __GetID
  215.         #define SOMGD_GetID 1
  216.     #else
  217.         #define _GetID ODContainer_GetID
  218.     #endif /* _GetID */
  219. #endif /* SOMGD_GetID */
  220.  
  221. /*
  222.  * New Method: GetName
  223.  */
  224. typedef ODContainerName   (SOMLINK *somTD_ODContainer_GetName)(ODContainer *somSelf, Environment *ev);
  225. #define somMD_ODContainer_GetName "::ODContainer::GetName"
  226. #define ODContainer_GetName(somSelf,ev) \
  227.     (SOM_Resolve(somSelf, ODContainer, GetName) \
  228.     (somSelf,ev))
  229. #ifndef SOMGD_GetName
  230.     #if (defined(_GetName) || defined(__GetName))
  231.         #undef _GetName
  232.         #undef __GetName
  233.         #define SOMGD_GetName 1
  234.     #else
  235.         #define _GetName ODContainer_GetName
  236.     #endif /* _GetName */
  237. #endif /* SOMGD_GetName */
  238.  
  239. /*
  240.  * New Method: SetName
  241.  */
  242. typedef void   (SOMLINK *somTD_ODContainer_SetName)(ODContainer *somSelf, Environment *ev,
  243.         ODContainerName name);
  244. #define somMD_ODContainer_SetName "::ODContainer::SetName"
  245. #define ODContainer_SetName(somSelf,ev,name) \
  246.     (SOM_Resolve(somSelf, ODContainer, SetName) \
  247.     (somSelf,ev,name))
  248. #ifndef SOMGD_SetName
  249.     #if (defined(_SetName) || defined(__SetName))
  250.         #undef _SetName
  251.         #undef __SetName
  252.         #define SOMGD_SetName 1
  253.     #else
  254.         #define _SetName ODContainer_SetName
  255.     #endif /* _SetName */
  256. #endif /* SOMGD_SetName */
  257.  
  258. /*
  259.  * New Method: GetDocument
  260.  */
  261. typedef ODDocument*   (SOMLINK *somTD_ODContainer_GetDocument)(ODContainer *somSelf, Environment *ev,
  262.         ODDocumentID id);
  263. #define somMD_ODContainer_GetDocument "::ODContainer::GetDocument"
  264. #define ODContainer_GetDocument(somSelf,ev,id) \
  265.     (SOM_Resolve(somSelf, ODContainer, GetDocument) \
  266.     (somSelf,ev,id))
  267. #ifndef SOMGD_GetDocument
  268.     #if (defined(_GetDocument) || defined(__GetDocument))
  269.         #undef _GetDocument
  270.         #undef __GetDocument
  271.         #define SOMGD_GetDocument 1
  272.     #else
  273.         #define _GetDocument ODContainer_GetDocument
  274.     #endif /* _GetDocument */
  275. #endif /* SOMGD_GetDocument */
  276.  
  277. /*
  278.  * New Method: InitContainer
  279.  */
  280. typedef void   (SOMLINK *somTD_ODContainer_InitContainer)(ODContainer *somSelf, Environment *ev,
  281.         ODStorageSystem* system,
  282.         ODContainerID id);
  283. #define somMD_ODContainer_InitContainer "::ODContainer::InitContainer"
  284. #define ODContainer_InitContainer(somSelf,ev,system,id) \
  285.     (SOM_Resolve(somSelf, ODContainer, InitContainer) \
  286.     (somSelf,ev,system,id))
  287. #ifndef SOMGD_InitContainer
  288.     #if (defined(_InitContainer) || defined(__InitContainer))
  289.         #undef _InitContainer
  290.         #undef __InitContainer
  291.         #define SOMGD_InitContainer 1
  292.     #else
  293.         #define _InitContainer ODContainer_InitContainer
  294.     #endif /* _InitContainer */
  295. #endif /* SOMGD_InitContainer */
  296.  
  297. /*
  298.  * New Method: Create
  299.  */
  300. typedef ODContainer*   (SOMLINK *somTD_ODContainer_Create)(ODContainer *somSelf, Environment *ev);
  301. #define somMD_ODContainer_Create "::ODContainer::Create"
  302. #define ODContainer_Create(somSelf,ev) \
  303.     (SOM_Resolve(somSelf, ODContainer, Create) \
  304.     (somSelf,ev))
  305. #ifndef SOMGD_Create
  306.     #if (defined(_Create) || defined(__Create))
  307.         #undef _Create
  308.         #undef __Create
  309.         #define SOMGD_Create 1
  310.     #else
  311.         #define _Create ODContainer_Create
  312.     #endif /* _Create */
  313. #endif /* SOMGD_Create */
  314.  
  315. /*
  316.  * New Method: Open
  317.  */
  318. typedef ODContainer*   (SOMLINK *somTD_ODContainer_Open)(ODContainer *somSelf, Environment *ev);
  319. #define somMD_ODContainer_Open "::ODContainer::Open"
  320. #define ODContainer_Open(somSelf,ev) \
  321.     (SOM_Resolve(somSelf, ODContainer, Open) \
  322.     (somSelf,ev))
  323. #ifndef SOMGD_Open
  324.     #if (defined(_Open) || defined(__Open))
  325.         #undef _Open
  326.         #undef __Open
  327.         #define SOMGD_Open 1
  328.     #else
  329.         #define _Open ODContainer_Open
  330.     #endif /* _Open */
  331. #endif /* SOMGD_Open */
  332.  
  333. /*
  334.  * New Method: Close
  335.  */
  336. typedef ODContainer*   (SOMLINK *somTD_ODContainer_Close)(ODContainer *somSelf, Environment *ev);
  337. #define somMD_ODContainer_Close "::ODContainer::Close"
  338. #define ODContainer_Close(somSelf,ev) \
  339.     (SOM_Resolve(somSelf, ODContainer, Close) \
  340.     (somSelf,ev))
  341. #ifndef SOMGD_Close
  342.     #if (defined(_Close) || defined(__Close))
  343.         #undef _Close
  344.         #undef __Close
  345.         #define SOMGD_Close 1
  346.     #else
  347.         #define _Close ODContainer_Close
  348.     #endif /* _Close */
  349. #endif /* SOMGD_Close */
  350.  
  351. /*
  352.  * New Method: ReleaseDocument
  353.  */
  354. typedef ODContainer*   (SOMLINK *somTD_ODContainer_ReleaseDocument)(ODContainer *somSelf, Environment *ev,
  355.         ODDocument* document);
  356. #define somMD_ODContainer_ReleaseDocument "::ODContainer::ReleaseDocument"
  357. #define ODContainer_ReleaseDocument(somSelf,ev,document) \
  358.     (SOM_Resolve(somSelf, ODContainer, ReleaseDocument) \
  359.     (somSelf,ev,document))
  360. #ifndef SOMGD_ReleaseDocument
  361.     #if (defined(_ReleaseDocument) || defined(__ReleaseDocument))
  362.         #undef _ReleaseDocument
  363.         #undef __ReleaseDocument
  364.         #define SOMGD_ReleaseDocument 1
  365.     #else
  366.         #define _ReleaseDocument ODContainer_ReleaseDocument
  367.     #endif /* _ReleaseDocument */
  368. #endif /* SOMGD_ReleaseDocument */
  369. #ifndef SOM_DONT_USE_INHERITED_MACROS
  370. #define ODContainer_InitRefCntObject ODRefCntObject_InitRefCntObject
  371. #define ODContainer_GetRefCount ODRefCntObject_GetRefCount
  372. #define ODContainer_InitObject ODObject_InitObject
  373. #define ODContainer_IsInitialized ODObject_IsInitialized
  374. #define ODContainer_HasExtension ODObject_HasExtension
  375. #define ODContainer_GetExtension ODObject_GetExtension
  376. #define ODContainer_ReleaseExtension ODObject_ReleaseExtension
  377. #define ODContainer_SubClassResponsibility ODObject_SubClassResponsibility
  378. #define ODContainer_somFree SOMObject_somFree
  379. #define ODContainer_somGetClass SOMObject_somGetClass
  380. #define ODContainer_somGetClassName SOMObject_somGetClassName
  381. #define ODContainer_somGetSize SOMObject_somGetSize
  382. #define ODContainer_somIsA SOMObject_somIsA
  383. #define ODContainer_somIsInstanceOf SOMObject_somIsInstanceOf
  384. #define ODContainer_somRespondsTo SOMObject_somRespondsTo
  385. #define ODContainer_somDispatchV SOMObject_somDispatchV
  386. #define ODContainer_somDispatchL SOMObject_somDispatchL
  387. #define ODContainer_somDispatchA SOMObject_somDispatchA
  388. #define ODContainer_somDispatchD SOMObject_somDispatchD
  389. #define ODContainer_somDispatch SOMObject_somDispatch
  390. #define ODContainer_somClassDispatch SOMObject_somClassDispatch
  391. #define ODContainer_somPrintSelf SOMObject_somPrintSelf
  392. #define ODContainer_somDumpSelf SOMObject_somDumpSelf
  393. #define ODContainer_somDumpSelfInt SOMObject_somDumpSelfInt
  394. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  395.  
  396. #endif       /* SOM_ODContainer_h */
  397.